﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace NCMIS.ObjectModel.Rest
{
    /// <summary>
    /// Holds CMIS Link Relations.
    /// </summary>
    public static class CmisLinkRel
    {
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "alternate" link relation.
        /// </summary>
        public const string Alternate = "alternate";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "current-version" link relation.
        /// </summary>
        public const string CurrentVersion = "current-version";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "describedby" link relation.
        /// </summary>
        public const string DescribedBy = "describedby";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "down" link relation.
        /// </summary>
        public const string Down = "down";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "edit" link relation.
        /// </summary>
        public const string Edit = "edit";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "edit-media" link relation.
        /// </summary>
        public const string EditMedia = "edit-media";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "enclosure" link relation.
        /// </summary>
        public const string Enclosure = "enclosure";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "first" link relation.
        /// </summary>
        public const string First = "first";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "last" link relation.
        /// </summary>
        public const string Last = "last";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "next" link relation.
        /// </summary>
        public const string Next = "next";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "previous" link relation.
        /// </summary>
        public const string Previous = "previous";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "self" link relation.
        /// </summary>
        public const string Self = "self";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "service" link relation.
        /// </summary>
        public const string Service = "service";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "up" link relation.
        /// </summary>
        public const string Up = "up";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "version-history" link relation.
        /// </summary>
        public const string VersionHistory = "version-history";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "via" link relation.
        /// </summary>
        public const string Via = "via";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the "working-copy" link relation.
        /// </summary>
        public const string WorkingCopy = "working-copy";

        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the ACL link relation (http://docs.oasis-open.org/ns/cmis/link/200908/acl).
        /// </summary>
        public const string Acl = "http://docs.oasis-open.org/ns/cmis/link/200908/acl";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the allowableactions link relation (http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions).
        /// </summary>
        public const string AllowableActions = "http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the changes link relation (http://docs.oasis-open.org/ns/cmis/link/200908/changes).
        /// </summary>
        public const string Changes = "http://docs.oasis-open.org/ns/cmis/link/200908/changes";
        ///<summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the foldertree link relation (http://docs.oasis-open.org/ns/cmis/link/200908/foldertree).
        /// </summary>
        public const string FolderTree = "http://docs.oasis-open.org/ns/cmis/link/200908/foldertree";
        ///<summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the policies link relation (http://docs.oasis-open.org/ns/cmis/link/200908/policies).
        /// </summary>
        public const string Policies = "http://docs.oasis-open.org/ns/cmis/link/200908/policies";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the relationships link relation (http://docs.oasis-open.org/ns/cmis/link/200908/relationships).
        /// </summary>
        public const string Relationships = "http://docs.oasis-open.org/ns/cmis/link/200908/relationships";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the root descendants link relation (http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants).
        /// </summary>
        public const string RootDescendants = "http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the source link relation (http://docs.oasis-open.org/ns/cmis/link/200908/source).
        /// </summary>
        public const string Source = "http://docs.oasis-open.org/ns/cmis/link/200908/source";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the target link relation (http://docs.oasis-open.org/ns/cmis/link/200908/target ).
        /// </summary>
        public const string Target = "http://docs.oasis-open.org/ns/cmis/link/200908/target";
        /// <summary>
        /// Gets the <see cref="System.String"/> object that corresponds to the typedescendants link relation (http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants).
        /// </summary>
        public const string TypeDescendants = "http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants";
    }
}
